package 预选;

public class test4 {
    public static void main(String[] args) {

    // 对于整数 v 和 p，定义 Pierce 序列为：
    //   Problems.a[1] = v
    //   Problems.a[i] = p % Problems.a[i-1]
    // 例如，当 v = 8, p = 21 时，对应的 Pierce 序列为
    //   Problems.a[1] = 8
    //   Problems.a[2] = 5
    //   Problems.a[3] = 1
    // 再往后计算，值变为 0，不在我们考虑的范围内。
    // 因此当 v = 8, p = 21 时， Pierce 序列的长度为 3。
    // 当 p 一定时，对于不同的 v 值，Pierce 序列的长度可能不同。
    // 当 p = 8 时，若 1<=v<p，最长的 Pierce 序列出现在 v=13时，为(13, 8, 5, 1)，长度为 4。
    // 当 p=2021 时，最长的 Pierce 序列出现在 v=1160 时，请问这个序列有多长？

        int[] a = new int[50];
        int v = 1160,p = 2021;

        for (int i=2;i<50;i++){

            try {
                a[1] = v;
                System.out.println(a[1]);
                System.out.println("********");
                if (a[i-1]==0){
                    break;
                }
                a[i] = p % a[i-1];
            } catch (Exception e){
                e.printStackTrace();
            }

        }

        for (int j=0;j<a.length;j++){
            System.out.println(a[j]);
            System.out.println("************************");
        }

    }
}
